//
//  TableViewViewController.swift
//  MacStudy
//
//  Created by 30san on 2020/9/22.
//  Copyright © 2020 Dawninest. All rights reserved.
//

import Cocoa

class TableViewViewController: NSViewController {

    @IBOutlet weak var tableView: NSTableView!
    
    private let dataSources: [String] = [
        "BaseTableViewController",
        "CustomCellTableViewController",
        "XibCustomCellTableViewController"
    ]
    
    override func viewDidLoad() {
        super.viewDidLoad()
        tableView.dataSource = self
        tableView.delegate = self
    }
}

extension TableViewViewController: NSTableViewDelegate {
    func tableViewSelectionDidChange(_ notification: Notification) {
        let storyboard = NSStoryboard(name: NSStoryboard.Name("Main"), bundle: nil)
        let index = tableView.selectedRow < 0 ? 0 : tableView.selectedRow
        let sceneIdentifier = "\(dataSources[index])"
        print("sceneIdentifier = \(sceneIdentifier)")
        let vc = storyboard.instantiateController(withIdentifier: NSStoryboard.SceneIdentifier.init(sceneIdentifier)) as! NSViewController
        presentAsModalWindow(vc)
    }
}

extension TableViewViewController: NSTableViewDataSource {
    func numberOfRows(in tableView: NSTableView) -> Int {
        return dataSources.count
    }
    
    func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? {
        return dataSources[row]
    }
    
    /// 利用系统自带的实现左边一列是图片 右边一列是文字  详细查看main.storyboard中TableViewViewController2
//    func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? {
//        if tableColumn?.identifier.rawValue == "image" {
//            return NSImage(named: "icon")
//        }
//        return dataSources[row]
//    }
}
